.NET6 C#, LineBot, Line Messaging API, C#, dotnet core
Line bot 的功能介紹及實例開發在上一篇就告一段落了, 之前我們都是透過 ngrok 提供一串外部可存取的網址連線到本地端,但是在程式開發到一個階段後,實務上我們還是需要建立自己的一個 server 提供固定的 ip 對外連結供使用者使用,這篇文章會介紹如何將 .net 6 部署上 Linux (Centos)
首先我們需要將程式編譯並且發佈到資料夾,這邊介紹兩個發佈的方式
方法一 : 直接透過 Visual Studio Core 做發布的動作
方法二 : 透過 terminal 的指令,在專案根目錄下執行 publish 的指令
接著我們準備的是一台 Linux Centos 7 的機器,因為我們只有要在上面執行 .net6 專案,所以我們可以只安裝 .net6 Runtime(執行環境)即可。
在 Centos 7 上我們可以透過 yum 來安裝
也可參考官方網站有很詳細的說明 : https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-centos
Step 1 : 新增套件存放庫
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
Step 2 : 安裝 aspnetcore-runtime-6.0
sudo yum install aspnetcore-runtime-6.0
Step 3 : 確認是否安裝成功
sudo dotnet --info 出現紅匡處的資訊表示安裝成功了!
因為 .net 6 runtime 有包含 kestrel 服務(Web Server),所以我們只要將發佈後的檔案複製到 server,並且透過 dotnet 指令就可以執行專案了喔~
.net 6 的環境部署大致上就介紹到這邊,但是直接執行 dotnet 指令的話當我們關閉 terminal 後執行中的專案也會跟著關閉,所以要如何在背景執行服務呢?接著我們下一篇會進一步介紹 .net Kestrel web service 如何搭配 Linux system service 來啟動專案喔~